package com.tengju.user.domain.model.archive.resume;

import com.tengju.user.domain.model.archive.IdCardNo;
import com.tengju.user.domain.model.user.UserIdCode;
import com.tengju.user.domain.shared.AccountId;

public interface BankCardRepository {

    BankCard findLastOne(UserIdCode idCode, BankCardStatus status);

    BankCard find(UserIdCode idCode, AccountId accountId);

    BankCard find(UserIdCode idCode, BankCardStatus status, AccountId orAccountId);

    BankCard find(BankCardId bankCardId, BankCardStatus status, AccountId orAccountId);

    int update(BankCardId bankCardId, BankCard bankCard);

    int update(UserIdCode idCode, BankCardStatus status);

    int update(UserIdCode idCode, BankCardStatus current, BankCardStatus update);

    int save(BankCard bankCard);

    BankCard find(IdCardNo idCardNo, BankCardStatus status);

    int count(UserIdCode userIdCode, IdCardNo idCardNo, BankCardStatus status);
}
